AUTOMAKE_OPTIONS=no-dependencies

CXX=parocc
PAROCCXX=parocc

AM_CXXFLAGS=-D_DEBUG_=@debuglevel@ -g

lib_LIBRARIES=libmetasearchdist.a libmetasearch.a

libmetasearch_a_SOURCES = edaBestImprSelect.cpp edaBestImprSelect.h edaBuffer.cpp \
			  edaBuffer.h edaContinue.h edaCoolingSchedule.h edaDAGEdge.cpp \
			  edaDAGEdge.h edaDAG.h edaDAGVertex.cpp edaDAGVertex.h \
			  edaDefine.h edaException.h edaExpCoolingSchedule.cpp \
			  edaExpCoolingSchedule.h edaFitContinue.cpp edaFitContinue.h \
			  edaGenContinue.cpp edaGenContinue.h edaTimeContinue.cpp \
			  edaTimeContinue.h edaHC.cpp edaHC.h \
			  edaHCMoveExpl.cpp edaHCMoveExpl.h edaLinearCoolingSchedule.cpp \
			  edaLinearCoolingSchedule.h edaMoveExpl.h edaMoveGen.h edaMove.h \
			  edaMoveSelect.h edaParSearchWrapper.cpp edaParSearchWrapper.ph\
			  edaParWrapperControl.cpp edaParWrapperControl.h edaSA.cpp \
			  edaSA.h edaSearch.h edaSearchWrapper.cpp \
			  edaSearchWrapper.h edaSeqSearchWrapper.cpp edaSeqSearchWrapper.h \
			  edaSequentialControl.cpp edaSequentialControl.h \
			  edaSeqWrapperControl.cpp edaSeqWrapperControl.h edaSerialize.cpp \
			  edaSerialize.h edaSolution.cpp edaSolution.h edaWrapperControl.cpp \
			  edaWrapperControl.h rng.cpp rng.h edaTS.h edaTS.cpp edaTSMoveExpl.h \
			  edaTSMoveExpl.cpp edaAspirCrit.h edaNoAspirCrit.h edaNoAspirCrit.cpp \
			  edaImprBestFitAspirCrit.h edaImprBestFitAspirCrit.cpp \
			  edaTabuList.h edaSimpleMoveTabuList.h edaSimpleMoveTabuList.cpp \
			  edaSimpleSolutionTabuList.h edaSimpleSolutionTabuList.cpp
libmetasearch_a_LIBADD = edaParSearchWrapper.stub.o

libmetasearchdist_a_SOURCES = edaBestImprSelect.cpp edaBestImprSelect.h edaBuffer.cpp \
			  edaBuffer.h edaContinue.h edaCoolingSchedule.h edaDAGEdge.cpp \
			  edaDAGEdge.h edaDAG.h edaDAGVertex.cpp edaDAGVertex.h \
			  edaDefine.h edaException.h edaExpCoolingSchedule.cpp \
			  edaExpCoolingSchedule.h edaFitContinue.cpp edaFitContinue.h \
			  edaGenContinue.cpp edaGenContinue.h edaTimeContinue.cpp \
			  edaTimeContinue.h edaHC.cpp edaHC.h \
			  edaHCMoveExpl.cpp edaHCMoveExpl.h edaLinearCoolingSchedule.cpp \
			  edaLinearCoolingSchedule.h edaMoveExpl.h edaMoveGen.h edaMove.h \
			  edaMoveSelect.h edaParSearchWrapper.cpp edaParSearchWrapper.ph\
			  edaParWrapperControl.cpp edaParWrapperControl.h edaSA.cpp \
			  edaSA.h edaSearch.h edaSearchWrapper.cpp \
			  edaSearchWrapper.h edaSeqSearchWrapper.cpp edaSeqSearchWrapper.h \
			  edaSequentialControl.cpp edaSequentialControl.h \
			  edaSeqWrapperControl.cpp edaSeqWrapperControl.h edaSerialize.cpp \
			  edaSerialize.h edaSolution.cpp edaSolution.h edaWrapperControl.cpp \
			  edaWrapperControl.h rng.cpp rng.h edaTS.h edaTS.cpp edaTSMoveExpl.h \
			  edaTSMoveExpl.cpp edaAspirCrit.h edaNoAspirCrit.h edaNoAspirCrit.cpp \
			  edaImprBestFitAspirCrit.h edaImprBestFitAspirCrit.cpp \
			  edaTabuList.h edaSimpleMoveTabuList.h edaSimpleMoveTabuList.cpp \
			  edaSimpleSolutionTabuList.h edaSimpleSolutionTabuList.cpp
libmetasearchdist_a_LIBADD = edaParSearchWrapper.dist.stub.o
libmetasearchdist_a_CXXFLAGS = -D_EDA_DISTRIBUTED_

include_HEADERS = edaBestImprSelect.h edaBuffer.h edaContinue.h edaCoolingSchedule.h \
		  edaDAGEdge.h edaDAG.h edaDAGVertex.h edaDefine.h edaException.h \
		  edaExpCoolingSchedule.h edaFitContinue.h edaGenContinue.h \
		  edaTimeContinue.h edaHC.h edaHCMoveExpl.h edaLinearCoolingSchedule.h \
		  edaMoveExpl.h edaMoveGen.h edaMove.h edaMoveSelect.h edaParSearchWrapper.ph \
		  edaParWrapperControl.h edaSA.h edaSearch.h \
		  edaSearchWrapper.h edaSeqSearchWrapper.h edaSequentialControl.h \
		  edaSeqWrapperControl.h edaSerialize.h edaSolution.h \
		  edaWrapperControl.h rng.h edaTS.h edaTSMoveExpl.h \
		  edaAspirCrit.h edaNoAspirCrit.h edaImprBestFitAspirCrit.h \
		  edaTabuList.h edaSimpleMoveTabuList.h edaSimpleSolutionTabuList.h \
		  eda.h


%.dist.stub.o: %.ph
	${PAROCCXX} -c $< ${CXXFLAGS} -D_EDA_DISTRIBUTED_ -o $@

%.stub.o: %.ph
	${PAROCCXX} -c $< ${CXXFLAGS} -o $@

EXTRA_DIST=eda.h
